<html>
<head><meta charset="utf-8"><title>Meeting 2020-11-02 · project-portable-simd · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/index.html">project-portable-simd</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html">Meeting 2020-11-02</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="215369805"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215369805" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215369805">(Nov 02 2020 at 19:53)</a>:</h4>
<p>It's Monday!</p>



<a name="215370042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215370042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215370042">(Nov 02 2020 at 19:55)</a>:</h4>
<p>Been Monday all month <span aria-label="grinning face with smiling eyes" class="emoji emoji-1f601" role="img" title="grinning face with smiling eyes">:grinning_face_with_smiling_eyes:</span></p>



<a name="215370264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215370264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215370264">(Nov 02 2020 at 19:57)</a>:</h4>
<p>Today is extra Monday, one of the most extra Mondays all March :P</p>



<a name="215370299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215370299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215370299">(Nov 02 2020 at 19:57)</a>:</h4>
<p>Was there anything we wanted to discuss today? I’ve got:</p>
<ul>
<li>A very early and incomplete draft of an MCP for more SIMD intrinsics that floats a couple strawman suggestions on how to introduce them I was hoping for input on: <a href="https://hackmd.io/vtoVeGpQTeSeUH1HaOpRCw">https://hackmd.io/vtoVeGpQTeSeUH1HaOpRCw</a></li>
<li>The open PR for comparisons: <a href="https://github.com/rust-lang/stdsimd/pull/44">https://github.com/rust-lang/stdsimd/pull/44</a></li>
</ul>



<a name="215370454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215370454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215370454">(Nov 02 2020 at 19:58)</a>:</h4>
<p>Looks like the PR has some macro expansion problems at this exact moment</p>



<a name="215370949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215370949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215370949">(Nov 02 2020 at 20:03)</a>:</h4>
<p>I'd note in the MCP ,</p>
<blockquote>
<p>it's easier for Cranelift to target the small number of <code>simd_*</code> intrinsics than the large number of corresponding <code>llvm.*.v*</code> ones.</p>
</blockquote>
<p>I might say instead/also that it's easier for stdlib code because then they don't have to cfg on cranelift or LLVM.</p>



<a name="215371127"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371127" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371127">(Nov 02 2020 at 20:05)</a>:</h4>
<p>Because it could use <code>core::simd</code> itself on either?</p>



<a name="215371270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371270">(Nov 02 2020 at 20:06)</a>:</h4>
<p>We will also end up expanding the simd_* intrinsics significantly I think. Still certainly smaller than the entirety of LLVM but will need some more</p>



<a name="215371575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371575">(Nov 02 2020 at 20:09)</a>:</h4>
<p><span class="user-mention" data-user-id="312331">@Caleb Zulawski</span> I saw we’re going to be pulling in a couple of existing comparison intrinsics soon, were there any new ones you know we’ll need off the top of your head?</p>



<a name="215371683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371683">(Nov 02 2020 at 20:10)</a>:</h4>
<p>Comparison and rounding are the ones that came to mind</p>



<a name="215371730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371730">(Nov 02 2020 at 20:10)</a>:</h4>
<p>Though I think comparisons are mostly already covered</p>



<a name="215371819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371819">(Nov 02 2020 at 20:11)</a>:</h4>
<p><span class="user-mention" data-user-id="204346">@Ashley Mannix</span> yeah because <em>without</em> <code>simd_foo</code> rustc intrinsics, <code>core::simd</code> would have to link to <code>llvm.*</code> and also some sort of <code>cranelift.*</code> (because presumably cranelift wouldn't actually link things under llvm names even if it had those abilities), and so <code>core::simd</code> would need some sort of cfg ability to see what the codegen backend is, which we want to avoid code ever having if we can.</p>



<a name="215371879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371879">(Nov 02 2020 at 20:11)</a>:</h4>
<p>And I’m guessing shuffles would need some new ones too?</p>



<a name="215371933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371933">(Nov 02 2020 at 20:12)</a>:</h4>
<p>I think shuffles are already covered</p>



<a name="215371949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371949">(Nov 02 2020 at 20:12)</a>:</h4>
<p>Though I haven't looked super closely</p>



<a name="215371957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371957">(Nov 02 2020 at 20:12)</a>:</h4>
<p>i also think shuffle is in</p>



<a name="215371970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215371970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215371970">(Nov 02 2020 at 20:12)</a>:</h4>
<p>Ah great!</p>



<a name="215372000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372000">(Nov 02 2020 at 20:12)</a>:</h4>
<p>If I had to take a guess we probably will eventually double the number of simd_* intrinsics</p>



<a name="215372027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372027">(Nov 02 2020 at 20:13)</a>:</h4>
<p>It might be the case that the shuffle is very "LLVM-y" in how it works, so we might need to clarify the API in a more agnostic way</p>



<a name="215372039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372039">(Nov 02 2020 at 20:13)</a>:</h4>
<p>This should be the full list of currently existing platform-intrinsics: <a href="https://github.com/rust-lang/stdarch/blob/master/crates/core_arch/src/simd_llvm.rs">https://github.com/rust-lang/stdarch/blob/master/crates/core_arch/src/simd_llvm.rs</a></p>



<a name="215372172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372172">(Nov 02 2020 at 20:14)</a>:</h4>
<p>How do we feel about committing to making sure there’s a reference implementation in <code>miri</code> for the intrinsics we’re going to depend on?</p>



<a name="215372191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372191">(Nov 02 2020 at 20:14)</a>:</h4>
<p>Very important</p>



<a name="215372226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372226">(Nov 02 2020 at 20:14)</a>:</h4>
<p>And it automatically makes MIRI able to handle SIMD since we already have the MIR forms of each intrinsic written down</p>



<a name="215372268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372268">(Nov 02 2020 at 20:15)</a>:</h4>
<p>Would it be in miri, or simply part of rustc that lowers to plain rust?</p>



<a name="215372293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372293">(Nov 02 2020 at 20:15)</a>:</h4>
<p>Or both</p>



<a name="215372305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372305">(Nov 02 2020 at 20:15)</a>:</h4>
<p>i think the idea is "a MIR version exists", even if it's not used on say intel + LLVM</p>



<a name="215372324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372324">(Nov 02 2020 at 20:15)</a>:</h4>
<p>and you'd only use it on powerpc or... whatever</p>



<a name="215372524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372524">(Nov 02 2020 at 20:17)</a>:</h4>
<p>I’m not sure what the preference of compiler folks would be 🙂 I was mostly thinking of living documentation of what intrinsics should do so if things don’t line up on different platforms we know who’s conformant and who’s not plus miri support for portable SIMD (which seems important)</p>



<a name="215372637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372637">(Nov 02 2020 at 20:18)</a>:</h4>
<p>I've never tried to read MIR, so i don't know if it makes clear code or not. Most of these operations might want a doc of what to do "in plain english"</p>



<a name="215372719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372719">(Nov 02 2020 at 20:19)</a>:</h4>
<p>Oh I thought miri’s intrinsics were written in plain Rust 😄</p>



<a name="215372764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215372764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215372764">(Nov 02 2020 at 20:19)</a>:</h4>
<p>i just assume they were an alternate IR like how LLVM IR is an alternate language, but maybe they <em>are</em> written in plain rust</p>



<a name="215373018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373018">(Nov 02 2020 at 20:21)</a>:</h4>
<p>So I thought the idea was that when lowering to MIR you check the backend support and convert the intrinsics to plain rust MIR if the backend doesn't support it</p>



<a name="215373095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373095">(Nov 02 2020 at 20:22)</a>:</h4>
<p>Which would work for MIRI, I think?</p>



<a name="215373234"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373234" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373234">(Nov 02 2020 at 20:23)</a>:</h4>
<p>That would work with miri, and would work with backends that don't have an intrinsic.</p>



<a name="215373248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373248">(Nov 02 2020 at 20:23)</a>:</h4>
<p>I just had some other crazy notion in mind i guess</p>



<a name="215373380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373380">(Nov 02 2020 at 20:24)</a>:</h4>
<p>I think MIRI could specialize the intrinsics in the future if there's some benefit to it</p>



<a name="215373397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373397">(Nov 02 2020 at 20:24)</a>:</h4>
<p>At that stage our intrinsics would still look like <code>simd_*</code> function calls, would they?</p>



<a name="215373413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373413">(Nov 02 2020 at 20:24)</a>:</h4>
<p>In MIR?</p>



<a name="215373457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373457">(Nov 02 2020 at 20:25)</a>:</h4>
<p>Or would the backend have already expanded them by then?</p>



<a name="215373497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373497">(Nov 02 2020 at 20:25)</a>:</h4>
<p>I don't know. We'd need a compiler person</p>



<a name="215373639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373639">(Nov 02 2020 at 20:26)</a>:</h4>
<p>Well, I was thinking one of the passes on MIR would check if platform-intrinsics have a match on the backend, and if not replace the intrinsic with plain rust</p>



<a name="215373653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373653">(Nov 02 2020 at 20:26)</a>:</h4>
<p>But we definitely need a compiler person</p>



<a name="215373735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373735">(Nov 02 2020 at 20:27)</a>:</h4>
<p>So intrinsics would still come out <em>sometimes</em>?</p>



<a name="215373741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373741">(Nov 02 2020 at 20:27)</a>:</h4>
<p>I imagined our MIR would be invoking <code>simd_*</code>, which miri’s interpreter would pick up in its big ol’ match block and call a plain Rust implementation of that intrinsic. Sounds like we definitely need a compiler person 🙂 And maybe the best way to do that is write up what we think should happen in the MCP and if it’s wrong somebody will jump on it 😄</p>



<a name="215373869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373869">(Nov 02 2020 at 20:28)</a>:</h4>
<p>I think the reason to do it as a MIR pass was so cranelift or any other backend could also use plain rust initially, not just MIRI</p>



<a name="215373929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215373929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215373929">(Nov 02 2020 at 20:29)</a>:</h4>
<p>Basically add initial support in one place as opposed to every consumer of MIR</p>



<a name="215374077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215374077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215374077">(Nov 02 2020 at 20:29)</a>:</h4>
<p>Ahh, that makes sense</p>



<a name="215374115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215374115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215374115">(Nov 02 2020 at 20:29)</a>:</h4>
<p>But fundamentally I think it's the same thing regardless of where it occurs? I think we're on the same page more or less haha</p>



<a name="215374294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215374294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215374294">(Nov 02 2020 at 20:31)</a>:</h4>
<p>Also, I think that if there's an assured MIR equivalent then it's better for const-eval as well</p>



<a name="215374312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215374312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215374312">(Nov 02 2020 at 20:31)</a>:</h4>
<p>I think so <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span> It sounds like we definitely want reference implementations that backends can use _somewhere_</p>



<a name="215374533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215374533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215374533">(Nov 02 2020 at 20:32)</a>:</h4>
<p>Didn't even consider const fn. Great point</p>



<a name="215374619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215374619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215374619">(Nov 02 2020 at 20:33)</a>:</h4>
<p>Const fn floats are certainly up in the air at the moment, but const fn int is very cut and dry, so there's no reason we can't have const fn simd ints</p>



<a name="215374640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215374640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215374640">(Nov 02 2020 at 20:33)</a>:</h4>
<p>Feel free to drop any scratch notes or comments on the MCP so far! I’ll aim to finish it up and raise it this week 🙂 I think the compiler folks will probably want to talk about it in one of their meetings</p>



<a name="215374770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215374770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215374770">(Nov 02 2020 at 20:34)</a>:</h4>
<p>Instead of a MIR pass, there could be a function that takes a platform-intrinsic call and maybe a local as temporary and then returns a list of mir statements that is equivalent to the platform-intrinsic. That would allow the backend to implement just some platform-intrinsics and leave the rest to this function.</p>



<a name="215375088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375088">(Nov 02 2020 at 20:37)</a>:</h4>
<p>I wonder if the plain rust equivalents should be implemented somewhere like core::intrinsics, though something like that might be too magic</p>



<a name="215375320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375320">(Nov 02 2020 at 20:38)</a>:</h4>
<p><span class="user-mention" data-user-id="133247">@bjorn3</span> So just to float the simplest thing that could possible work, we make a crate of simd intrinsics in plain Rust, compile them to MIR, dump that in a text file and check it in, and then parse and serve fragments of that on-demand?</p>



<a name="215375533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375533">(Nov 02 2020 at 20:40)</a>:</h4>
<p>I’m sure we wouldn’t actually have to do things that way 😄</p>



<a name="215375573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375573">(Nov 02 2020 at 20:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="204346">Ashley Mannix</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202020-11-02/near/215375320">said</a>:</p>
<blockquote>
<p>just to float </p>
</blockquote>
<p><span aria-label="eyes" class="emoji emoji-1f440" role="img" title="eyes">:eyes:</span></p>



<a name="215375642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375642">(Nov 02 2020 at 20:41)</a>:</h4>
<p>I meant a function that returns something like:</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="n">vec</span><span class="o">!</span><span class="p">[</span><span class="w"></span>
<span class="w">    </span><span class="n">Statement</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">source_info</span>: <span class="cm">/* ... */</span><span class="p">,</span><span class="w"> </span><span class="n">kind</span>: <span class="nc">StatementKind</span>::<span class="n">Assign</span><span class="p">(</span><span class="cm">/* ... */</span><span class="p">)</span><span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w">    </span><span class="n">Statement</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">source_info</span>: <span class="cm">/* ... */</span><span class="p">,</span><span class="w"> </span><span class="n">kind</span>: <span class="nc">StatementKind</span>::<span class="n">Assign</span><span class="p">(</span><span class="cm">/* ... */</span><span class="p">)</span><span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w">    </span><span class="n">Statement</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">source_info</span>: <span class="cm">/* ... */</span><span class="p">,</span><span class="w"> </span><span class="n">kind</span>: <span class="nc">StatementKind</span>::<span class="n">Assign</span><span class="p">(</span><span class="cm">/* ... */</span><span class="p">)</span><span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w">    </span><span class="n">Statement</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">source_info</span>: <span class="cm">/* ... */</span><span class="p">,</span><span class="w"> </span><span class="n">kind</span>: <span class="nc">StatementKind</span>::<span class="n">Assign</span><span class="p">(</span><span class="cm">/* ... */</span><span class="p">)</span><span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="p">]</span><span class="w"></span>
</code></pre></div>
<p>for a vector type with four lanes.</p>



<a name="215375672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375672">(Nov 02 2020 at 20:41)</a>:</h4>
<p>That's kinda why I'm suggesting putting them in core (but unstable).  Then we get to skip that whole compile to MIR process</p>



<a name="215375846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375846">(Nov 02 2020 at 20:42)</a>:</h4>
<p>well, <code>core</code> gets compiled very rarely anyway</p>



<a name="215375865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375865">(Nov 02 2020 at 20:42)</a>:</h4>
<p>most people never compile it</p>



<a name="215375903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375903">(Nov 02 2020 at 20:43)</a>:</h4>
<p>actually, hmm, hold on, we want all this inlined into the user's code space as often as possible</p>



<a name="215375915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375915">(Nov 02 2020 at 20:43)</a>:</h4>
<p>to pick up on the user's cpu feature settings</p>



<a name="215375921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215375921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215375921">(Nov 02 2020 at 20:43)</a>:</h4>
<p>Sorry, I meant we get to skip manually compiling a separate crate with the polyfill as <span class="user-mention" data-user-id="204346">@Ashley Mannix</span> suggested</p>



<a name="215376084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215376084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215376084">(Nov 02 2020 at 20:44)</a>:</h4>
<p>So instead of using independent bits of MIR you can use calls to fns in core. Which would work with either a MIR pass or <span class="user-mention" data-user-id="133247">@bjorn3</span> 's method I think</p>



<a name="215376211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215376211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215376211">(Nov 02 2020 at 20:45)</a>:</h4>
<p>Maybe if we just list our requirements for writing pollyfills in plain Rust and for having those pollyfills available to any backend without having to translate them manually we can fill in the blanks with more compiler team input?</p>



<a name="215376319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215376319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215376319">(Nov 02 2020 at 20:46)</a>:</h4>
<p>Yeah as long as it's written in rust and not directly in MIR I think we're good</p>



<a name="215376429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215376429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215376429">(Nov 02 2020 at 20:47)</a>:</h4>
<p>And as long as <span class="user-mention" data-user-id="133247">@bjorn3</span> doesn’t have to rewrite them all to make things work in Cranelift we’re good</p>



<a name="215377189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215377189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215377189">(Nov 02 2020 at 20:53)</a>:</h4>
<p>Ok, I’ll keep working on that MCP and keep you all up to date!</p>



<a name="215392092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215392092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215392092">(Nov 02 2020 at 23:15)</a>:</h4>
<p>hmm my brain fell out again. I should actually write a notification down.</p>



<a name="215392363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215392363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215392363">(Nov 02 2020 at 23:18)</a>:</h4>
<p>Whoops. Hope you recovered it without incident</p>



<a name="215392942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215392942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215392942">(Nov 02 2020 at 23:26)</a>:</h4>
<p>Also the time shifted i think because it's in the calendar as UTC, but we did daylight shift</p>



<a name="215392981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215392981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215392981">(Nov 02 2020 at 23:27)</a>:</h4>
<p>Oh I completely forgot about DST, wondering why the time was different</p>



<a name="215395815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215395815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215395815">(Nov 03 2020 at 00:01)</a>:</h4>
<p>oh yeah actually</p>



<a name="215432951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215432951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215432951">(Nov 03 2020 at 10:08)</a>:</h4>
<p>Now that some folks are in DST do you think we should consider shifting the time? I left it in UTC so it didn't automatically shift :)</p>



<a name="215447067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215447067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215447067">(Nov 03 2020 at 12:34)</a>:</h4>
<p>I'm ok with either time</p>



<a name="215461604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202020-11-02/near/215461604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202020-11-02.html#215461604">(Nov 03 2020 at 14:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="312331">Caleb Zulawski</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202020-11-02/near/215376084">said</a>:</p>
<blockquote>
<p>So instead of using independent bits of MIR you can use calls to fns in core. Which would work with either a MIR pass or <span class="user-mention silent" data-user-id="133247">bjorn3</span> 's method I think</p>
</blockquote>
<p>IIRC that's what <a href="https://github.com/rust-lang/compiler-builtins"><code>compiler-builtins</code></a> is for?  Last I heard internal stuff like that wasn't wanted in <code>core</code>.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>